<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Component Object Model</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Component_Object_Model"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Component_Object_Model rootpage-Component_Object_Model skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Component Object Model</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<p><b>Component Object Model</b> (abr. <i>COM</i>) est une technique de <a href="Composant_logiciel" title="Composant logiciel">composants logiciels</a> développée par <a href="Microsoft" title="Microsoft">Microsoft</a> et <a href="Digital_Equipment_Corporation" title="Digital Equipment Corporation">DEC</a>, depuis 1994, populaire sur <a href="Windows" class="mw-redirect" title="Windows">Windows</a> et également disponible sur les systèmes d'exploitation <a href="OpenVMS" title="OpenVMS">OpenVMS</a>, <a href="Tru64" class="mw-redirect" title="Tru64">Tru64</a> ainsi que d'autres <a href="Unix" title="Unix">Unix</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>. Utilisée pour mettre en œuvre <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a> et <a href="ActiveX" title="ActiveX">ActiveX</a>, <i>COM</i> est dépassé depuis 2009 par le <i><a href="Framework_.NET" class="mw-redirect" title="Framework .NET">Framework .NET</a></i> de Microsoft. Les technologies <i>COM</i> regroupent <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>, COM+, <a href="Distributed_Component_Object_Model" title="Distributed Component Object Model">Distributed COM</a> et <a href="ActiveX" title="ActiveX">ActiveX</a><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Fonctionnalités"><span id="Fonctionnalit.C3.A9s"></span>Fonctionnalités</h2></div>
<p><i>Component Object Model</i> est une spécification créée par <a href="Microsoft" title="Microsoft">Microsoft</a>, qui décrit comment un programme exécutable peut être emballé dans un <a href="Objet_(informatique)" title="Objet (informatique)">objet</a> par un programmeur, permettant l'utilisation de l'objet par d'autres programmeurs<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>. La spécification <i>COM</i> décrit une <a href="Interface_de_programmation" title="Interface de programmation">interface de programmation</a> ainsi qu'un procédé de communication entre les objets qui est indépendant des <a href="Langages_de_programmation" class="mw-redirect" title="Langages de programmation">langages de programmation</a><sup id="cite_ref-delphi_4-0" class="reference"><a href="#cite_note-delphi-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>Un des objectifs de <i>COM</i> est de faciliter la création de programmes par assemblage de composants, où chaque composant peut être mis à jour ou amélioré indépendamment des autres. Ceci est rendu possible par le fait que tous les composants peuvent être assemblés selon la même technique<sup id="cite_ref-3D_5-0" class="reference"><a href="#cite_note-3D-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. <i>COM</i> unifie la manière dont les composants mettent à disposition leurs fonctionnalités et la manière dont les autres programmes vont les rechercher et s'en servir<sup id="cite_ref-3D_5-1" class="reference"><a href="#cite_note-3D-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. Les programmes qui adhèrent à la spécification <i>COM</i> pourront être réutilisés dans plusieurs langages de programmation<sup id="cite_ref-workshop_ATL_6-0" class="reference"><a href="#cite_note-workshop_ATL-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, tels que <a href="C_(langage)" title="C (langage)">C</a>, <a href="Visual_Basic" title="Visual Basic">Visual Basic</a>, <a href="Java_(langage)" title="Java (langage)">Java</a>, <a href="Embarcadero_Delphi" class="mw-redirect" title="Embarcadero Delphi">Delphi</a>, <a href="Visual_FoxPro" title="Visual FoxPro">FoxPro</a> ou <a href="COBOL" class="mw-redirect" title="COBOL">COBOL</a><sup id="cite_ref-workshop_ATL_6-1" class="reference"><a href="#cite_note-workshop_ATL-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Caractéristiques"><span id="Caract.C3.A9ristiques"></span>Caractéristiques</h2></div>
<p>Un objet <i>COM</i> est essentiellement un programme qui met en œuvre une ou plusieurs <a href="Interface_de_programmation" title="Interface de programmation">interfaces de programmation</a>. Chaque interface est une liste de <a href="Fonction_(informatique)" class="mw-redirect" title="Fonction (informatique)">fonctions</a>. Toutes les interfaces sont dérivées de l'interface nommée <code>IUnknown</code><sup id="cite_ref-3D_5-2" class="reference"><a href="#cite_note-3D-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. Les objets <i>COM</i> peuvent être mis en œuvre par des fichiers <a href=".exe" title=".exe">.exe</a> ou <a href="Dynamic_Link_Library" title="Dynamic Link Library">.dll</a> de <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a><sup id="cite_ref-delphi_4-1" class="reference"><a href="#cite_note-delphi-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>L'interface <code>IUnknown</code> comporte trois fonctions: <code>QueryInterface</code>, <code>AddRef</code> et <code>Release</code>. La fonction <code>QueryInterface</code> permet à un programme de demander au composant <i>COM</i> les caractéristiques d'une interface qu'il met en œuvre. Les fonctions <code>AddRef</code> et <code>Release</code> servent à informer le composant qu'un programme est en train de s'en servir<sup id="cite_ref-3D_5-3" class="reference"><a href="#cite_note-3D-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>. Plusieurs programmes peuvent se servir simultanément d'un composant <i>COM</i>. Un composant <i>COM</i> est exécuté dès qu'un programme s'en sert, et s'arrête automatiquement lorsqu'il n'est plus utilisé par aucun programme<sup id="cite_ref-3D_5-4" class="reference"><a href="#cite_note-3D-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Historique">Historique</h2></div>
<p>Un des pères de cette technologie fut Anthony Williams, qui la valorisa dans ses livres <i>Object Architecture: Dealing With the Unknown - or - Type Safety in a Dynamically Extensible Class</i> (<a href="1988" title="1988">1988</a>) et <i>On Inheritance: What It Means and How To Use It</i> (<a href="1990" title="1990">1990</a>).
</p>
<div class="mw-heading mw-heading3"><h3 id="OLE_1.0"><a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a> 1.0</h3></div>
<p>La précédente technologie Microsoft <a href="Programmation_orient%C3%A9e_objet" title="Programmation orientée objet">orientée objet</a> fut <i>Object Linking and Embedding</i> (OLE) 1.0, qui a été construit sur les <a href="Dynamic_Data_Exchange" title="Dynamic Data Exchange">Dynamic Data Exchange</a> (DDE) et spécifiquement conçus pour les documents composés (par exemple lorsqu'un tableau est inséré dans un document <a href="Microsoft_Word" title="Microsoft Word">Word</a> des changements opérés sur le tableau <a href="Microsoft_Excel" title="Microsoft Excel">Excel</a> seront propagés dans le document Word). Cela fut introduit par Word et Excel en 1991 et dans Windows 3.1 un an plus tard. De même en 1991, Microsoft introduisit les contrôles <a href="Visual_Basic" title="Visual Basic">Visual Basic</a>, ou VBX grâce à Visual <a href="BASIC_1.0" title="BASIC 1.0">Basic 1.0</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="OLE_2.0">OLE 2.0</h3></div>
<p>En 1993, Microsoft sortit les OLE 2, et créa le COM comme modèle objet pour OLE 2. Alors que OLE 1 s'occupait principalement des documents composés, OLE 2 fut destiné à adresser des composants logiciels en général. En <a href="1994" title="1994">1994</a>, les contrôles OLE (OCX) furent introduits en tant que successeurs des VBX. Dans le même temps, Microsoft décida que <i>OLE 2</i> s'appellerait simplement <i>OLE</i>, et qu'il ne désignait dès lors plus un <a href="Acronymie" title="Acronymie">acronyme</a>, mais le nom des technologies composants de la firme.
</p><p>En début d'année 1996, Microsoft renomma certaines parties de OLE concernant <a href="Internet" title="Internet">Internet</a>, <i>ActiveX</i>, et petit à petit toutes les parties de OLE passèrent sous le signe ActiveX, exception faites des composants faits pour les documents composés et utilisés par exemple par <a href="Microsoft_Office" title="Microsoft Office">Microsoft Office</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Produits_connexes">Produits connexes</h2></div>
<p><i>COM</i> sert de fondations aux technologies <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a> et <a href="ActiveX" title="ActiveX">ActiveX</a><sup id="cite_ref-delphi_4-2" class="reference"><a href="#cite_note-delphi-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> et est disponible dans divers langages de programmation. Les contrôles de <a href="Microsoft_Foundation_Classes" class="mw-redirect" title="Microsoft Foundation Classes">Microsoft Foundation Classes</a> (abr. <i>MFC</i>) sont des objets <i>COM</i><sup id="cite_ref-diff_7-0" class="reference"><a href="#cite_note-diff-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> et <a href="Active_Template_Library" title="Active Template Library">Active Template Library</a> est un ensemble de modèles pour créer des objets <i>COM</i> en langage C++<sup id="cite_ref-workshop_ATL_6-2" class="reference"><a href="#cite_note-workshop_ATL-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>. <a href="Distributed_Component_Object_Model" title="Distributed Component Object Model">DCOM</a> et COM+ sont des logiciels de service qui étendent les possibilités d'utilisation des objets <i>COM</i>.
</p><p><a href="Java_RMI" class="mw-redirect" title="Java RMI">Java RMI</a>, IBM <i>SOM</i>, et <a href="CORBA" class="mw-redirect" title="CORBA">CORBA</a> sont des technologies similaires à <i>COM</i>. <i>CORBA</i> offre des fonctionnalités semblables à COM/DCOM. Il existe des logiciels de <i>pont</i> qui permettent d'utiliser un objet <i>COM</i> comme s'il s'agissait d'un objet <i>CORBA</i> ou inversement<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.
</p><p>Depuis 2003 la technologie <a href="Microsoft_.NET" title="Microsoft .NET">.Net</a> remplace la technologie <i>COM</i>, elle offre bon nombre de ses avantages tout en corrigeant certains problèmes. .Net et <a href="Visual_Studio" class="mw-redirect" title="Visual Studio">Visual Studio</a> offrent diverses possibilités d'utilisation conjointe des technologies <i>COM</i> et .Net. Un objet <i>COM</i> peut être utilisé dans un programme en .Net, par le biais d'un <a href="Wrapper" class="mw-disambig" title="Wrapper">wrapper</a> qui lui donnera l'apparence d'un objet .Net et un objet en .Net peut être utilisé pour mettre en œuvre un composant COM par le biais d'un wrapper qui lui donnera l'apparence d'un composant <i>COM</i>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Distributed_COM">Distributed COM</h3></div>
<p><a href="Distributed_Component_Object_Model" title="Distributed Component Object Model">DCOM</a> est un logiciel <a href="Middleware" title="Middleware">middleware</a> de type <a href="Object_Request_Broker" class="mw-redirect" title="Object Request Broker">ORB</a> : un logiciel moteur qui permet à des objets qui s'exécutent sur un ordinateur d'échanger des services avec des objets exécutés par un autre ordinateur. L´<i>ORB</i> fait appel à un <i>ORB</i> exécuté par l'autre ordinateur<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>. Il permet en particulier au programmeur de se servir de l'objet sans tenir compte du fait qu'il est sur un autre ordinateur, <i>DCOM</i> traitant automatiquement les communications entre les deux ordinateurs, y compris l'application du protocole <a href="Remote_Procedure_Call" class="mw-redirect" title="Remote Procedure Call">Remote Procedure Call</a>, l'<a href="Authentification" title="Authentification">authentification</a>, la <a href="S%C3%A9rialisation" title="Sérialisation">sérialisation</a> et l'utilisation de la <a href="M%C3%A9moire_cache" title="Mémoire cache">mémoire cache</a><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="COM+"><span id="COM.2B"></span>COM+</h3></div>
<p><i>COM+</i> est une suite intégrée de logiciels composée de <i>COM</i>, <i>DCOM</i> et <a href="Microsoft_Transaction_Server" title="Microsoft Transaction Server">Microsoft Transaction Server</a>. Ce dernier met en œuvre un <a href="Environnement_d'ex%C3%A9cution" title="Environnement d'exécution">environnement d'exécution</a> pour les composants <i>COM</i> avec des fonctionnalités de regroupement des <a href="Thread_(informatique)" title="Thread (informatique)">threads</a> et des connexions aux bases de données, ainsi que des fonctionnalités d'exécution automatique des composants <i>COM</i><sup id="cite_ref-peishu_11-0" class="reference"><a href="#cite_note-peishu-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>. <i>COM+</i> comporte un dispositif de <a href="Contr%C3%B4le_d'acc%C3%A8s_%C3%A0_base_de_r%C3%B4les" title="Contrôle d'accès à base de rôles">contrôle d'accès à base de rôles</a><sup id="cite_ref-peishu_11-1" class="reference"><a href="#cite_note-peishu-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>, une console permet de manipuler un catalogue de composants. Une fois ajoutés au catalogue, ceux-ci peuvent être utilisés depuis un autre ordinateur, et un service se chargera d'arrêter l'exécution d'un composant en cas d'inactivité prolongée<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>. COM+ est incorporé dans <a href="Windows_2000" title="Windows 2000">Windows 2000</a><sup id="cite_ref-peishu_11-2" class="reference"><a href="#cite_note-peishu-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="OLE">OLE</h3></div>
<p><i><a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a></i> (pour <i>Object Linking and Embedding</i>) vise à permettre d'incorporer un document dans un autre document. Cette fonctionnalité utilise initialement la technique de communication entre programmes <a href="Dynamic_Data_Exchange" title="Dynamic Data Exchange">Dynamic Data Exchange</a> (abr. <i>DDE</i>).
</p><p>La version 2.0 de <i>OLE</i> n'utilise plus la technique de communication DDE<sup id="cite_ref-Perl_13-0" class="reference"><a href="#cite_note-Perl-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> et la fonctionnalité est assurée par le partage d'un bloc de données entre différentes applications, le bloc en question est un objet <i>COM</i>. Un <i>conteneur OLE</i> est une application qui peut manipuler des blocs de données <i>OLE</i>, et un <i>serveur OLE</i> est une application qui peut produire des blocs <i>OLE</i><sup id="cite_ref-delphi_4-3" class="reference"><a href="#cite_note-delphi-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p><p>OLE 2.0 introduit une nouvelle fonctionnalité - <a href="Automation" class="mw-redirect" title="Automation">Automation</a> - qui permet à un programme de demander à un autre programme d'effectuer des opérations<sup id="cite_ref-Perl_13-1" class="reference"><a href="#cite_note-Perl-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="ActiveX">ActiveX</h3></div>
<p><i>ActiveX</i> est un <a href="Buzzword" title="Buzzword">buzzword</a><sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> qui fait référence à une technologie destinée à transformer des pages web en <a href="Application_Web" class="mw-redirect" title="Application Web">applications</a> qui, selon l'auteur, sont plus rapides que celles utilisant des <a href="Applet_Java" title="Applet Java">applet Java</a>. Dans les faits les objets <i>ActiveX</i> sont des objets <i>COM</i> avec quelques fonctionnalités de plus qui permettent de les utiliser sur le web<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>. Le nom ActiveX a été choisi pour se distancer de la fonction de liaison et incorporation d'objet (anglais <i>Object Linking and Embedding</i> abr. <i>OLE</i>) parce que l'objectif des contrôles <i>ActiveX</i> n'a plus rien à voir. Techniquement il n'y a pas de différence entre un objet <i>COM</i> et un objet <i>ActiveX</i><sup id="cite_ref-diff_7-1" class="reference"><a href="#cite_note-diff-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>: l'objet met en œuvre les interfaces <code>IUnknown</code> et <code>IDispatch</code><sup id="cite_ref-Perl_13-2" class="reference"><a href="#cite_note-Perl-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>, la fonction <code>QueryInterface</code> et la fonction <code>DllRegisterServer</code><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Représentation_dans_Common_Information_Model"><span id="Repr.C3.A9sentation_dans_Common_Information_Model"></span>Représentation dans <a href="Common_Information_Model" title="Common Information Model">Common Information Model</a></h2></div>
<p>Des classes CIM héritées des classes de base du <a href="CIM_Schema" title="CIM Schema">CIM Schema</a> définissent des fonctionnalités de COM. Parmi elles:
</p>
<ul><li><i>Win32_COMClass</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> représente les propriétés d'un composant COM</li>
<li><i>Win32_COMApplication</i><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>, regroupement logique de classes COM.</li>
<li><i>Win32_COMApplicationClasses</i><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> est une associatiohn abstraite qui lie une instance de <i>Win32_COMClass</i> avec une instance de <i>Win32_COMApplication</i>.</li>
<li><i>Win32_COMSetting</i><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>: Les paramètres associés à un composant ou une application COM.</li>
<li><i>Win32_DCOMApplication</i><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>, propriétés d'une application DCOM</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Gene Cronin et Terence P. Sherlock, <i>Com Beyond Microsoft: Designing and Implementing Com Servers on Compaq Platforms</i>, Digital Press - 2000, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781555582265</span>)</small></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <span class="ouvrage">« <a rel="nofollow" class="external text" href="http://www.microsoft.com/com/default.mspx"><cite style="font-style:normal;">COM: Component Object Model Technologies</cite></a> » <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2009-12-21" data-sort-value="2009-12-21">21 décembre 2009</time>)</small></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Don Jones, <i>Managing Windows With Vbscript and Wmi</i>, Addison-Wesley Professional - 2004, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780321213341</span>)</small></span>
</li>
<li id="cite_note-delphi-4"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Steve Teixeira et Xavier Pacheco<i>, Delphi 6 - Sams Developer's Guides</i>, Sams Publishing - 2002, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780672321153</span>)</small></span>
</li>
<li id="cite_note-3D-5"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Peter Walsh, <i>Advanced 3D Game Programming with DirectX 10.0</i>, Jones & Bartlett Learning - 2010, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781598220544</span>)</small></span>
</li>
<li id="cite_note-workshop_ATL-6"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Andrew W. Troelsen, <i>Developer’s Workshop to COM and ATL 3.0</i>, Jones & Bartlett Publishers - 2012, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781449683221</span>)</small></span>
</li>
<li id="cite_note-diff-7"><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://support.microsoft.com/kb/159621"><cite style="font-style:normal;">support.microsoft.com - Différence entre les contrôles OLE et ActiveX</cite></a> »</span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Jason Pritchard, <i>Com and CORBA Side by Side: Architectures, Strategies, and Implementations</i>, Addison-Wesley Professional - 1999, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780201379457</span>)</small></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <i>Network World</i>, 10 août 1998,Vol. 15 - N° 32, <small style="line-height:1em;">(<a href="International_Standard_Serial_Number" title="International Standard Serial Number">ISSN</a> <span class=" noarchive"><a rel="nofollow" class="external text" href="https://portal.issn.org/resource/issn/0887-7661">0887-7661</a></span>)</small></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> R Rock-Evans, <i>Dcom Explained</i>, Digital Press - 1998, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781555582166</span>)</small></span>
</li>
<li id="cite_note-peishu-11"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Peishu Li, <i>Visual Basic and COM+ programming</i>, Que Publishing - 2000, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780789724588</span>)</small></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Juval Löwy, <i>COM and .NET: Component Services</i>, O'Reilly Media, Inc. - 2001, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9780596001032</span>)</small></span>
</li>
<li id="cite_note-Perl-13"><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Dave Roth, <i>Win32 Perl Programming: The Standard Extensions</i>, Sams Publishing - 2001, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781578702169</span>)</small></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> James D. Foxall, <i>McSd in a Nutshell: The Visual Basic Exams</i>, O'Reilly Media - Inc., 2000, <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <span class="nowrap">9781565927520</span>)</small></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr><i>InfoWorld</i>, 19 mai 1997,Vol. 19 -<abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 20, <small style="line-height:1em;">(<a href="International_Standard_Serial_Number" title="International Standard Serial Number">ISSN</a> <span class=" noarchive"><a rel="nofollow" class="external text" href="https://portal.issn.org/resource/issn/0199-6649">0199-6649</a></span>)</small></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/aa751972(v=VS.85).aspx"><cite style="font-style:normal;">microsoft.com - Introduction to ActiveX Controls</cite></a> »</span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-comclass">Win32_COMClass class</a></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-comapplication">Win32_COMApplication class</a></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><a href="#cite_ref-19">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-comapplicationclasses">Win32_COMApplicationClasses class</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><a href="#cite_ref-20">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-comsetting">Win32_COMSetting class</a></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><a href="#cite_ref-21">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-dcomapplication">Win32_DCOMApplication class</a></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li>Pour l'identifiant de classe OLE (le CLSID), voir <a href="GUID" class="mw-redirect" title="GUID">GUID</a>.</li>
<li><a href="OpenOffice.org#Modèle_objet_UNO" title="OpenOffice.org">UNO</a></li>
<li><a href="D-Bus" title="D-Bus">D-Bus</a></li>
<li><a href="Bonobo_(informatique)" title="Bonobo (informatique)">Bonobo</a></li>
<li><a href="Windows_Communication_Foundation" title="Windows Communication Foundation">WCF</a></li>
<li><a href="VBScript" title="VBScript">VBScript</a></li>
<li><a href="Windows_PowerShell" title="Windows PowerShell">Windows PowerShell</a></li>
<li><a href="Cocoa_(Apple)" title="Cocoa (Apple)">Cocoa (Apple)</a></li>
<li>AppleEvents : Système de communication inter-application sous <a href="Mac_OS" class="mw-redirect" title="Mac OS">Mac OS</a> ;</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/windows/win32/com/component-object-model--com--portal">COM sur microsoft.com</a></li>
<li><a rel="nofollow" class="external text" href="http://msdn.microsoft.com/en-us/library/7sw4ddf8(loband).aspx">ActiveXObject</a> dans les scripts Windows</li>
<li><a rel="nofollow" class="external text" href="http://h30266.www3.hpe.com/odl/axplp/progtool/com14/comvms14.htm">COM for HP OpenVMS Version 1.4</a>, documentation de HPE</li></ul>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de Microsoft</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-04-18" href="https://fr.wikipedia.org/wiki/?title=Component_Object_Model&oldid=224922492">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>